//链表的回文结构
    public boolean Palindrome() {
        if(this.head==null){//头结点为空，肯定不是回文结构
            return false;
        }
        if(this.head.next==null){//只有一个头结点，必然是回文结构
            return true;
        }
        //1.找到单链表的中间结点
        Node fast = this.head;
        Node slow = this.head;
        while (fast != null && fast.next != null) {
            fast = fast.next.next;
            slow = slow.next;
        }
        //2.反转后半部分链表
        Node cur = slow.next;
        while (cur != null) {
            Node curNext = cur.next;
            cur.next = slow;
            slow = cur;
            cur = curNext;
        }
        //3.一边从头部遍历，一边从尾部遍历
        while (slow != this.head) {
            if (this.head.data != slow.data) {
                return false;
            }
            if(this.head.next==slow){//这一步是用来判断节点为偶数时的情况
                return true;
            }

            {
                this.head = this.head.next;
                slow = slow.next;
            }
        }
        return true;
    }